#ifndef FILLETFEATURE_H
#define FILLETFEATURE_H

#include "baseFeature.h"
/*
倒角保存倒角ID、倒角对象、倒角边、倒角半径
*/
class FilletFeature : public BaseFeature
{
public:
	FilletFeature();
	~FilletFeature();

public:
	//获取私有变量
	int getFilletId();
	double getRadius();
	int getResultId() override;
	BaseFeature* getTargetFeature() override;
    Standard_Integer getSubEdgeIndex();

	//设置私有变量
	void setFilletId(int brepId);
	void setResultId(int resultId);
	void setRadius(double radius);
	void setTargetFeature(BaseFeature* targetFeature);
    void setSubEdgeIndex(Standard_Integer index);
	void AddOperation(BaseFeature* feature) override{
		if (this->targetFeature->getFeatureType() <= 5) {
			this->targetFeature->AddOperationToList(feature);
		}
		else {
			this->targetFeature->AddOperation(feature);
		}
	};
private:
	int filletId;
	int resultId;
	double radius;
	//保存布尔运算前的拓扑数据
	//判断对象是否是不规则对象（即是操作子类），若是则先重做操作获取不规则对象
	BaseFeature* targetFeature;
	//保存选择的子对象（边），通过保存其索引值来实现（子对象在TopoDS_Shape中是以list形式存在的）
	int subEdgeIndex;
};
#endif
